Saltar al contenido principal

Extracción de Información Estructurada de Documentos Semiestructurados

Plataforma: Ubuntu 20 Tipo: Proyecto Cerrado Fecha: 2023 Enlace: No disponible


Resumen

Este proyecto tuvo como objetivo desarrollar una plataforma genérica capaz de extraer información estructurada desde documentos semiestructurados utilizando técnicas de inteligencia artificial, OCR y análisis de layout.

La iniciativa surgió tras varios proyectos exitosos de procesamiento documental, donde cada solución estaba diseñada para un conjunto específico de documentos. El desafío consistía en construir una solución más flexible, capaz de adaptarse a formularios, contratos, solicitudes, declaraciones y otros documentos con estructuras variables.

La visión era avanzar hacia una alternativa especializada para automatización documental, explorando capacidades similares a las ofrecidas por plataformas líderes del mercado de aquella época.


Referencias Visuales

La siguiente imagen ilustra conceptualmente el tipo de análisis realizado sobre documentos semiestructurados.

Layout Parser


Contexto

En muchos procesos empresariales la información no se encuentra almacenada en bases de datos estructuradas, sino distribuida dentro de documentos.

Aunque los documentos suelen contener información organizada visualmente, dicha estructura no siempre puede interpretarse fácilmente mediante OCR tradicional.

El desafío consistía en responder preguntas como:

  • ¿Cuál es el nombre del cliente?
  • ¿Cuál es el número de identificación?
  • ¿Qué valor corresponde a determinado campo?
  • ¿Qué información pertenece a una tabla?
  • ¿Cuál es la relación entre una etiqueta y su valor?

Resolver estas preguntas de forma genérica requería comprender tanto el texto como la estructura visual del documento.


Problema

Los sistemas tradicionales de OCR permiten leer texto, pero no necesariamente comprender la relación entre los distintos elementos de una página.

Por ejemplo:

Nombre:
Juan Pérez

Dirección:
Av. Principal 123

Un OCR convencional puede reconocer todas las palabras, pero identificar correctamente qué valor corresponde a cada campo requiere comprender la estructura del documento.

El objetivo del proyecto era construir una solución capaz de interpretar estas relaciones de manera automática.


Arquitectura General


Solución

La solución combinó múltiples modelos especializados que trabajaban sobre distintas capas de información.

OCR

La primera etapa consistía en obtener el texto y la ubicación espacial de cada elemento presente en el documento.

Comprensión de Layout

Posteriormente se utilizaban modelos especializados para interpretar la estructura visual del documento.

Se trabajó principalmente con:

  • LayoutLMv3.
  • RapidTable.
  • Modelos internos especializados.

Estos modelos permitían analizar simultáneamente:

  • Texto.
  • Posición.
  • Agrupaciones visuales.
  • Relaciones espaciales.

Extracción de Tablas

Una de las capacidades incorporadas durante el proyecto fue la extracción de tablas.

Esto permitió ampliar significativamente los escenarios de uso y abordar documentos más complejos.

Generación de Datos Estructurados

Finalmente se intentaba transformar la información obtenida en estructuras reutilizables para otros sistemas.


Mi Participación

Participé como líder técnico del proyecto.

Mis responsabilidades incluyeron:

  • Diseño de la arquitectura.
  • Evaluación tecnológica.
  • Selección de modelos.
  • Coordinación del equipo.
  • Supervisión de experimentación.
  • Definición de métricas.
  • Presentación del producto a potenciales clientes.

También participé activamente en la validación de resultados y en la definición de estrategias para relacionar preguntas y respuestas dentro de los documentos.


Infraestructura

La solución fue diseñada utilizando servicios serverless y contenedores desplegados sobre Amazon Web Services (AWS).

Esto permitió construir una arquitectura escalable y orientada a procesamiento bajo demanda.


Desafíos Técnicos

Comprensión de Relaciones

Uno de los mayores desafíos fue identificar correctamente la relación entre campos y valores.

Por ejemplo:

Nombre: Juan Pérez
RUT: 12.345.678-9

La extracción de texto era relativamente sencilla.

Determinar que "Juan Pérez" corresponde al campo "Nombre" y que el RUT pertenece a otro campo resultó ser un problema considerablemente más complejo.

Dependencia del Posicionamiento

Gran parte de la estrategia se apoyaba en relaciones espaciales y análisis geométrico del documento.

Si bien este enfoque entregó resultados prometedores, también mostró limitaciones cuando los documentos variaban significativamente de diseño.

Variabilidad Documental

Cada cliente, industria o formulario presentaba estructuras distintas.

La diversidad de layouts aumentaba considerablemente la complejidad del problema.


Tecnologías Utilizadas

  • Python
  • LayoutLMv3
  • RapidTable
  • OCR
  • AWS
  • Arquitecturas Serverless
  • Docker
  • Procesamiento Documental
  • Computer Vision

Resultados

El proyecto logró:

  • Extraer campos estructurados desde múltiples tipos documentales.
  • Analizar layouts complejos.
  • Extraer tablas automáticamente.
  • Validar arquitecturas escalables para procesamiento documental.
  • Generar demostraciones funcionales para potenciales clientes.

Además, permitió identificar con claridad los desafíos técnicos asociados a la comprensión documental avanzada.


Lo que Aprendí

Este proyecto dejó uno de los aprendizajes más importantes de mi experiencia profesional en procesamiento documental.

La extracción de texto y la comprensión de estructura son problemas diferentes.

Mientras que el OCR y los modelos de layout pueden identificar dónde está la información, comprender correctamente las relaciones semánticas entre preguntas y respuestas requiere mecanismos adicionales de interpretación.

Años después, la aparición y masificación de los modelos de lenguaje confirmó muchas de las limitaciones observadas durante este proyecto, especialmente en escenarios donde la comprensión contextual resulta más importante que la posición física de los elementos dentro del documento.


Viéndolo en Retrospectiva

Aunque el proyecto no evolucionó hacia un producto comercial, considero que fue una experiencia extremadamente valiosa desde el punto de vista técnico.

Permitió explorar los límites de las tecnologías documentales disponibles en ese momento y comprender con mayor profundidad la diferencia entre leer un documento y comprenderlo.

Muchas de las lecciones aprendidas en esta iniciativa terminarían siendo aplicadas posteriormente en proyectos de OCR avanzado, extracción documental especializada y soluciones basadas en modelos de lenguaje.


Información Adicional

La imagen utilizada corresponde a una representación conceptual del análisis de layout documental y se incluye únicamente con fines ilustrativos.